devtools::install_github("ricardo-bion/ggradar", 
                          dependencies=TRUE)

one patient risk visualization

library(frisk)
sample_size <- 1
# simulate patients data
dd <- data.frame(age=sample(30:70,sample_size,rep=TRUE),
                 gender=sample(c("M","F"),sample_size,rep=TRUE),
                 bmi=sample(16:48, sample_size, rep = TRUE),
                 hdl=sample(10:100,sample_size,rep=TRUE),
                 chl=sample(100:400,sample_size,rep=TRUE),
                 sbp=sample(90:200,sample_size,rep=TRUE),
                 isSbpTreated=sample(c(TRUE,FALSE),sample_size,rep=TRUE),
                 smoking=sample(c(TRUE,FALSE),sample_size,rep=TRUE),
                 diabetes=sample(c(TRUE,FALSE),sample_size,rep=TRUE)
                 )

patient1 <- calc_card_10_one( age=dd$"age",
                   gender=dd$"gender",
                   bmi=NA,
                   cholesterol=dd$"chl",
                   hdl=dd$"hdl", sbp=dd$"sbp",
                   is_sbp_under_treatment=dd$"isSbpTreated",
                   smoking_status=dd$"smoking",
                   diabetes_status=dd$"diabetes"
)

library(ggplot2)
library(ggradar)
library(scales)
library(dplyr)
library(janitor)


pp <- as.data.frame(patient1) %>%
  remove_empty_cols() %>%
  subset(select = -c(risk, heart_age))

#Example 1
ggradar(pp,
        axis.labels = colnames(pp)[-1],
        centre.y = -5,
        label.centre.y = TRUE,
        grid.min = 0,
        grid.mid = 8,
        grid.max = 15,
        values.radar = c("0", "8", "15"), 
        grid.line.width = 0.3,
        grid.label.size = 4,
        gridline.label.offset = 0,
        axis.label.size = 3,
        axis.line.colour = "gray40",
        gridline.max.colour = "black",
        plot.legend = TRUE,
        legend.text.size = 10,
        font.radar = "Arial")

3D Analysis of the effects hdl, sbp and chl on CVD Risk for 100 patients

# install plotly for this to work
library(dplyr)
library(plotly)
library(frisk)
sample_size <- 100
# simulate patients data
sample <- data.frame(age=sample(30:70,sample_size,rep=TRUE),
                 gender=sample(c("M","F"),sample_size,rep=TRUE),
                 bmi=sample(16:48, sample_size, rep = TRUE),
                 hdl=sample(10:100,sample_size,rep=TRUE),
                 chl=sample(100:400,sample_size,rep=TRUE),
                 sbp=sample(90:200,sample_size,rep=TRUE),
                 isSbpTreated=sample(c(TRUE,FALSE),sample_size,rep=TRUE),
                 smoking=sample(c(TRUE,FALSE),sample_size,rep=TRUE),
                 diabetes=sample(c(TRUE,FALSE),sample_size,rep=TRUE)
                 )

 # call frisk function case no bmi
patients <-calc_card_10(sample, age="age", gender="gender", cholesterol="chl", 
             hdl="hdl", sbp="sbp", is_sbp_under_treatment="isSbpTreated",
             smoking_status="smoking", diabetes_status="diabetes"
)

#plot the graph
plot_ly(patients, x = ~chl, y = ~sbp, z = ~hdl,
        marker = list(color = ~points, colorscale = c('#FFE1A1', '#683531'), showscale = TRUE)) %>%
  add_markers() %>%
  layout(scene = list(xaxis = list(title = 'cholesterol'),
                     yaxis = list(title = 'sbp'),
                     zaxis = list(title = 'hdl')),
         annotations = list(
           x = 1.13,
           y = 1.05,
           text = 'Effects of hdl, chl and sbp on CVD Risk',
           xref = 'paper',
           yref = 'paper',
           showarrow = FALSE
         ))


PHP2560-Statistical-Programming-R/r-framingham documentation built on May 23, 2019, 4:23 p.m.